package com.cctv.common.java8Study;

import com.sun.org.apache.xpath.internal.SourceTree;

import java.util.Comparator;
import java.util.function.Consumer;

/**
 * 左侧为：参数列表
 * 右侧：表达式中所执行的功能
 */
public class TestlamBda {
    /**
     * 形式一：方法无参数无返回值
     */
    //静态类写法
    Runnable runnable = new Runnable() {
        @Override
        public void run() {
            System.out.println("你好");
        }
    };
    //lamda表达式写法
    Runnable r = ()->{
        System.out.println("你好，我是滑一");
    };

    /**
     * 形式二：方法有参数，无返回值
     *
     */
    Consumer<String> comm = new Consumer<String>() {
        @Override
        public void accept(String s) {
            System.out.println(s);
        }
    };
    //lamda表达式写法
    Consumer<String> con = (a)->{
        System.out.println(a);
    };

    /**
     * 方法有两个以上的参数，且有返回值
     *
     */
    Comparator<Integer> cos = (a,b)->{
        System.out.println("函数式接口");
        return Integer.compare(a,b);
    };


    public static void main(String[] args) {
        TestlamBda a = new TestlamBda();
//        a.runnable.run();
//        a.r.run();
       a.con.accept("asc");
    }

}
